package com.hanxiaozhang.validation.util;

import com.hanxiaozhang.exception.ParameterNotValidException;


/**
 * 〈一句话功能简述〉<br>
 * 〈校验工具类〉
 *  参考：com.google.common.base.Preconditions
 *
 * @author hanxinghua
 * @create 2020/7/23
 * @since 1.0.0
 */
public class ValidationUtil {

    private ValidationUtil() {}

    /**
     * 验证参数是否有效
     *
     * @param expression
     * @throws ParameterNotValidException 如果抛出异常 {@code expression} 是 false
     */
    public static void checkParameter(boolean expression) {
        if (!expression) {
            throw new ParameterNotValidException();
        }
    }

    /**
     * 验证参数是否有效
     *
     * @param expression
     * @param errorMessage 参数无效时使用的异常消息（可以为空）
     * @throws ParameterNotValidException 如果抛出异常 {@code expression} 是 false
     */
    public static void checkParameter(boolean expression, Object errorMessage) throws IllegalArgumentException {
        if (!expression) {
            throw new ParameterNotValidException(String.valueOf(errorMessage));
        }
    }



}
